package com.syg;

import com.syg.event.MyEvent;
import com.syg.listener1.MyListener1;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * springboot进行事件监听有四种方式：
 *
 * 1,手工向ApplicationContext中添加监听器
 * 2,将监听器装载入spring容器
 * 3,在application.properties中配置监听器
 * 4,通过@EventListener注解实现事件监听
 * @author syg
 */
@SpringBootApplication
public class ListenerBoot {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(ListenerBoot.class, args);
        // 装载监听(此是方式1)
        context.addApplicationListener(new MyListener1());
        // 发布事件(这个是4种方式的测试)
        context.publishEvent(new MyEvent("测试事件."));
    }
}
